package com.gxa.zhonglong.mapper;

import com.gxa.zhonglong.pojo.Goods;
import com.gxa.zhonglong.pojo.StoreBarter;
import io.swagger.models.auth.In;

import java.sql.Timestamp;
import java.util.List;
import java.util.Map;

/**
 * @author wanjun
 * @version 1.0
 * @date 2021/10/27 17:48
 */
public interface StoreBarterMapper {
    //添加调拨
    public void add(StoreBarter storeBarter) ;
    //添加调拨关联表
    public void addCo(String storeBarterNum, List<String> goodsCoding);
    //商品编号查询调拨单编号
    public String selectNumByGoodCoding(String goodCoding);
    //调拨单编号查状态
    public Integer selectStateByNum(String storeBarterNum);
    //查询全部调拨单
    public List<StoreBarter> selectAll(Integer offset, Integer size);
    //获得count
    public List<StoreBarter> selectAll2();
    //多条件查询调拨单(分页)
    public List<StoreBarter> selectByField(Timestamp from, Timestamp to, String storeBarterGclass,
                                           String storeBarterNews, String storeBarterNewc, String storeBarterOlds,
                                           String storeBarterOldc, String storeBarterCusername,Integer offset,Integer size);
    //获得count
    public List<StoreBarter> selectByField2(Timestamp from, Timestamp to, String storeBarterGclass,
                                           String storeBarterNews, String storeBarterNewc, String storeBarterOlds,
                                           String storeBarterOldc, String storeBarterCusername);
    //驳回申请
    void updateState2(String storeBarterNum);

    //撤销驳回
    void updateState0(String storeBarterNum);
    //删除一条数据
    void delete(String storeBarterNum);
    //删除关联表数据
    void deleteCo(String storeBarterNum);
    //审核通过改变状态
    void updateState1(String storeBarterNum);
    //商品编码查商品详细信息
    public Map<String,Object> selectGoodByCode(String goodCoding);

    //通过调拨单编码查询需要调到那个门店
    String selectBarterS(String storeBarterNum) ;
    //通过调拨单编码查询需要调到那个柜台
    String selectBarterC(String storeBarterNum);
    //调拨单编码找到很多商品
    List<String> selectGoodsCodingByNum(String storeBarterNum);
    //将门店信息写入商品中
    void updateGoodsSC(String barterS,String barterC,List<String> goodsCoding);
    //审批单上添加审批时间和审批人
    void updateBarterD(String storeBarterNum,String storeBarterEusername,Timestamp storeBarterEtime);

    //修改调拨表数据(时间,门店)的方法
    void updateBarter(String storeBarterNum, Timestamp storeBarterCtime,
                      String storeBarterNews, String storeBarterNewc );
    //查询全部门店名字
    public List<Map<String,Object>> selectAllStore();
    //根据门店id查询全部柜台名字
    List<String> selectCounter(Long id);

    //删除调拨表中的商品
    void deleteBagood(String storeBarterNum,String goodCoding);

    //单据编码查询里边包含的商品信息
    List<Map<String,Object>> selectBaDeta(String storeBarterNum,Integer offset,Integer size);
    //统计数量
    List<Map<String,Object>> selectBaDeta1(String storeBarterNum);
}
